Method and apparatus for testing a packet-based network

ABSTRACT

In packet-based networks (10), it is often desired to test communications between two specific stations (11, 12). This can generally be effected from a first one of the stations (11) by requesting the other station (12) to `loop-back` a test packet sent from the first station. The first station (11), on receiving back the test packet, can thereby ascertain that not only is communication with the other station (12) possible, but it can also measure the round trip time. However, more complex characteristics of the transmission path between the stations (11, 12) are not ascertainable in this manner. The transmission of a predetermined sequence of packets permits such characteristics to be determined by observing the effect of the network (10) on the sequence considered as a whole. Thus by varying packet size in a sequence, characteristics such as bandwidth, propagation delay, queuing delay and the network&#39;s internal packet size can be derived. The use of bursts of packets enables buffer size and re-sequencing characteristics to be determined.

TECHNICAL FIELD

The present invention relates to a method and apparatus for testing apacket-based communications network such as a computer network.

BACKGROUND

In packet-based networks, it is often desired to test communicationsbetween two specific nodes on the network. This can generally beeffected from a first one of the nodes by requesting the other node to`loop-back` a test packet sent from the first node. The first node, onreceiving back the test packet, can thereby ascertain not only thatcommunication is possible with the other node, but also the round triptime for the packet. Typically such a test would be performed by aninstrument such as the HP 4982A LAN protocol analyzer (available fromHewlett-Packard Company, Palo Alto, Calif.) connected to the network atthe first node.

Inter-networking protocols such as the ARPA Internet Protocol (IP) mayalso provide a facility for determining reachability and round trip timeby use of a looped-back test packet. Thus, in IP networks the InternetControl Message Protocol CiCMP) allows control and information messages,including echo request and echo reply messages, to be passed in the dataportion of IP datagrams between IP software on different hosts andgateways. Other messages allowed by ICMP include timestamp request andtimestamp reply messages which permit a transit time estimate to be madein both transit directions. Certain computer operating systems such asthe Hewlett-Packard HPUX operating system permit users to send ICMP echorequests using a command named "ping" with the users being able tospecify the number and size of test packets for which round trip timesare returned.

It may also be noted that in the ARPA Transmission Control Protocol(TCP), a similar measurement is continually made as part of thetransmission control process. More particularly, the round-trip time ismeasured between the transmission of a packet and receipt back of anacknowledgement from the destination node; this round-trip time isaveraged continually into a smoothed round-trip time estimate which isthen used to control the retransmissions time-out parameter RTO.

The use of looped-back test packets has thus been restricted todetermining the directly-observable round-trip time characteristic ofthe transmission path between two nodes.

It is an object of the present invention to permit further networkcharacteristics to be determined from the operation of transmittingpackets between two nodes, these characteristics being those which arenot discernible from the transmission of a single packet between thenodes.

DISCLOSURE OF THE INVENTION

According to one aspect of the present invention, there is provided amethod of testing a packet-based network to ascertain characteristics ofpacket transmission between first and second nodes on the network, saidmethod comprising the steps of transmitting packets between said nodes,receiving the packets at one said node, and correlating packettransmission and reception to derive correlation data indicative of asaid transmission characteristic, characterised in that said packets aretransmitted as a sequence in which the packets are in a predeterminedrelationship to each other, said correlation data being so derived as tobe sensitive to this relationship whereby to enable a characteristic oftransmission to be determined that is unobservable from the passage of asingle packet.

Preferably, at least one of the sequence parameters comprisinginter-packet spacing and packet size, varies through said sequence inaccordance with said predetermined relationship.

In one test according to the invention, said sequence of packetscomprises for each of a multiplicity of packet sizes, a respectiveplurality of packets, the packets of said sequence being transmitted inisolation from each other.

The correlation data for this test will comprise the minimum and/or themean packet journey time for each packet size. Where the minimum journeytimes are derived, these are preferably graphically displayed againstpacket size; the slope of a straight line placed through the points onthis graphical display will give an indication of the network bandwidthwhilst the intercept of the same straight line on the time axis willprovide an indication of propagation delay. Of course, the minimumjourney times could be processed computationally in order to derive thesame network characteristics. Where the correlation data includes boththe minimum and the mean journey times, graphical display of bothagainst packet size enables the mean queuing time for packetstransmitted between the nodes to be derived, this queuing time being thedifference between the minimum and mean times for any particular packetsize; again, the queuing time could be computed rather than graphicallyderived. Where the correlation data comprises the mean journey times,graphical display of these times against packet size can provide anindication of the network's internal packet size since if the networksplits up an original sequence packet into smaller packets, this will bereflected in an increased journey time which should show up as a stepfunction on the graphical display. Again, the networks internal packetsize could be derived by computation from the correlation data.

In another test according to the invention, the sequence of packetstransmitted from the first node comprises a succession of isolatedpacket bursts each made up of a plurality of packets transmittedimmediately one after another, the correlation data being so derived asto indicate for each packet position within said bursts as transmitted,the average packet loss rate. If the minimum buffer size in thetransmission path between the nodes under consideration is less than thenumber of packets included in each burst, the loss rate of packetsshould increase significantly as the buffer size is exceeded by packetsoccurring later in each burst. This test therefore enables the minimuminternal buffer size to be determined.

In a further test according to the invention the sequence of packetstransmitted comprises at least one isolated packet burst made up of aplurality of packets that are transmitted immediately one after anotherand are of decreasing size through the packet; in this case, thecorrelation dam is derived so as to indicate any difference in packetsequencing between the transmitted and received bursts. Suchre-sequencing may be present where the network includes devices thatprioritise short packets.

BRIEF DESCRIPTION OF THE DRAWINGS

Three network tests according to the invention, and test apparatusembodying the invention, will now be particularly described, by way ofnon-limiting example, with reference to the accompanying diagrammaticdrawings, in which:

FIG. 1 is a diagram illustrating use of the test apparatus to ascertaincharacteristics of a network between two given network nodes;

FIG. 2 is a diagram illustrating a main test sequence program of thetest apparatus and associated data structures.

FIG. 3A illustrated a first test sequence of packets for use in carryingout a first one of the network tests;

FIG. 3B illustrates a second test sequence of packets for use in thefirst network test;

FIG. 4 is a graph of minimum packet delay against packet size, derivedby the first network test;

FIG. 5 is a graph of mean packet delay against packet size, derived bythe first network test;

FIG. 6 illustrates a test sequence of packet bursts for use in a secondone of the network tests;

FIG. 7 is a graph derived by the second network test and from which theminimum network path buffer size can be determined;

FIG. 8 illustrates a test sequence of packet bursts for use in a thirdone of the network tests; and

FIG. 9 is a graph derived by the third network test and from which anypacket re-sequencing can be identified.

BEST MODE FOR CARRYING OUT THE INVENTION

FIG. 1 illustrates a packet-based communication network 10 to whichthree stations, 11, 12 and 13 are connected at respective network nodes17, 18 and 19.

The network 10 will generally be made up of one or more links operatingto the same or different protocols and will typically include a numberof queuing devices such as bridges and gateways, generally depicted bythe buffer 9 in the FIG. 1 network. These devices serve to queue packetsreceived at the devices pending appropriate processing of the packets(for example routing to the appropriate network link). The differentlinks of the network will typically operate at different speeds withdifferent internal packet sizes.

The stations 11, 12 and 13 interact with the network 10 throughrespective protocol stacks 14, 15 and 16, which will generally beprovided by communications software running on a processor of theassociated station (this processor may be either a dedicatedcommunications processor or a central processor of the station, runningin a multi-tasking mode). The protocol stacks may be of any formsuitable for the particular links to which the corresponding stationsare connected. Implementations of such protocol stacks are well known inthe art and will therefore not be described in detail; however, thesestacks may include, by way of example, the TCP/IP protocol suite, thatis, the Transmission Control Protocol/Internet Protocol suite (for afurther description of TCP/IP see, for example, "Internetworking withTCP/IP", by Douglas E. Comer, second edition 1991, Prentice-HallInternational, Inc). The lower protocol levels may be in accordance withthe IEEE 802.2 link level protocol and appropriate ones of the IEEE802.3/4/5/6 physical layer protocol standards. Although only threeprotocol layers have been illustrated for each stack, 14, 15 and 16 inFIG. 1, this is purely done to simplify illustration and more or lessprotocol layers may be present. As will become clear below, in relationto the network characteristic measurements to be described, at least panof each protocol stack is within the network 10.

Station 11 is a test station incorporating the test apparatus embodyingthe present invention. The test station 11 is operative to assess thecharacteristics of the transmission path between the test station and aremote station (hereinafter, the target station) by sending outsequences of test packets to the target station. In the preferredimplementation of the invention, the target station is arranged to loopback the test packets to the station 11; in FIG. 1, station 12constitutes such a target station effecting test packet loop-back (forexample, stations 11 and 12 may both operate the IP protocol and thetest packets transmitted by the station 11 may either be echo request ortimestamp request messages under the ICMP protocol to which station 12will respond accordingly). The station 11 on receiving back the testpacket sequence, correlates the transmission and reception of the testpackets in order to derive characteristics of data transmission acrossthe network 10 between the test and target stations 11 and 12. Station11 is, for example, constituted by a portable instrument which may bemoved between different nodes on the network to measure transmissioncharacteristics between various nodes.

Station 11 comprises a program-controlled processor 20 operative to runa main test sequence program 30, an input device 21 such as a keyboard,a graphical output device 22 and a test sequence store 23 containingsequence specifications for a number of different test packet sequences.Each test sequence specification specifies sequence parameters such aspacket size, packet identity, inter packet gap and packet ordering. Inresponse to user input through the device 21, the processor 20 isoperative to run the test sequence program 30 to transmit a test packetsequence corresponding to a selected one of the specifications held instore 23, to a user specified target station for loop back to the teststation 11. In transmitting packets to the target station, the testsequence program 30 utilizes the services provided by the protocol stack14 to send and receive packets over the network 10. The basic serviceprovided by the protocol stack 14 is to transmit a test packet ofspecified length and including specified packet D to a specified remotestation with a loop back request indication in the packet header. Uponthe packet being returned to the protocol stack 14, an interrupt isgenerated to the processor 20.

The main test sequence program is operative to carry out any requiredtiming of packet transmission and receipt, or if such a facility isprovided by the protocol stack (as with timestamp request messages ofthe ICMP protocol), to arrange for the stack to provide appropriatetiming. In addition, the test sequence program will correlate data onthe transmitted and received packets, analyze this data, and output theanalysis results to the user via the display 22.

The test sequence program 30 will now be considered in more detail withreference to FIG. 2. As noted above, the program 30 is intended to sendout a sequence of test packets to a specified remote station for loopback with the parameters of the test sequence being in accordance with aselected one of a plurality of test packet sequence specifications heldin the store 23. Each test packet sequence specification can berepresented as a list 50 containing for each of a series of testpackets, a packet ID number, the length of the packet in bytes and theinterval that is to follow the packet before the next packet in thesequence is transmitted. The list of test packets is terminated by anentry giving a packet ID of "999".

In addition to the test packet sequence list 50, the test sequenceprogram also makes use of a data structure in the form of an event list51. This event list lists in time order the transmission and receptionof test packets by the station 11. For each event the list contains anindication of whether or not the event concerned is the transmission orreception of a packet CrX/RX in list 51 of FIG. 2), an indication of theID number of the packet concerned, and the time of the relevant event(packet transmission or reception). Transmission events are entered inthe event list 51 by the main test sequence program 30, whilst receptionevents are entered into the list 51 by an interrupt service routine 44,initiated by the interrupt produced by the protocol stack 14 whenever apacket is received.

The general operation of the test sequence program 30 will now bedescribed:

Upon initiation of the test sequence program (block 31 ) the user isasked to enter the identity of the test sequence it is wished to run andalso to identify the remote station to which the test packets are to besent for loop back (block 32). Next, the test sequence program 30retrieves from the relevant test packet sequence fist 50 the parametersof the first test packet of that sequence (block 33). Thereafter theprogram 30 controls the transmission of a test packet to the specifiedremote station using the protocol stack 14. The transmitted test packetwill include a packet ID number of 1 and be of a length specified intable 50 (block 34). As soon as the protocol stack 14 has beeninstructed to transmit the test packet, an entry is made in the eventlist 51 recording the fact that packet number 1 has been transmitted ata particular time (block 35).

Next, the program 30 times an interval corresponding to that set out inthe list 50 for packet just transmitted, this interval being the desireddelay before the next packet is sent (block 36). At the end of this timeout, the parameters of the next packet to be transmitted are fetchedfrom the list 50 (block 37); except in the case where the ID number ofthis next packet is "999", the program now loops back to block 34 tosend this next packet.

The loop constituted by blocks 34 to 38 is thereafter repeated until allthe test packets of the current test sequence have been sent. In duecourse, the end-of-sequence packet with its ID number set to "999" isencountered and at this point the program passes from block 38 to block39. Block 39 concerns the analysis of the event list and the display ofresults to the user. Since the process of analysis and display ofresults will be dependent on the test packet sequence concerned, aseparate analysis and display routine 45 will be called by program 30 independence on the test sequence concerned. After the analysis anddisplay sub-routine has terminated, the main test sequence program 30itself terminates (block 40).

Execution of the main test sequence program 30 is interrupted each timea packet is received by the protocol stack. When this occurs theinterrupt service routine 44 is run (block 41) and simply involves anentry being made in the event list to record the receipt back of a testpacket, the entry identifying the test packet concerned and its time ofreceipt (block 42). Thereafter the interrupt service routine isterminated (block 43) and the control is returned to the main program.

The time stamping of packet transmission and reception as recorded inthe event list is effected from a common clock run by the processor 20,this being true whether the time stamping is effected externally of theprotocol stack 14 or as part of the services provided by the stack (inthe latter case, the transmit timestamp of a test packet may be enteredin the event list at the same time as the receipt timestamp, rather thanearlier, as both will generally be available together from the stack onreceipt back of the test packet).

The timing of the inter-packet gap, in block 36 of the main programgenerally does not require significant accuracy, so that this timing canbe done in software with any extension of the interval due to therunning of the interrupt service routine 44, being small enough to beignored. As will become clear below, the main purpose of timing aninter-packet gap is that in certain cases adjacent packets are requiredto influence the network independently of each other and therefore needto be isolated by a sufficient time interval.

Influence of Network on Packet

When a test packet is sent out over the network to a particular remotestation and looped back to the transmitting station, its round tripjourney time will depend on a number of factors. More particularly, theround trip journey time will depend on packet length because timing isnormally effected between start of packet transmission and conclusion ofpacket reception, so that the longer a packet is, the greater its roundtrip journey time. Furthermore, the journey time will also depend on theprotocol stack level at which the timing takes place--if timing iseffected at one of the lower protocol stack levels, then the journeytime will be less than if the timing is effected at a higher level.Similarly, the round trip journey time will be affected by the level inthe protocol stack at which loop back is effected at the remote station;generally it is possible to effect loop back both at the link levellayer and at the transport layer or higher and, again, the higher theloop back layer, the greater the journey time. It is for this reasonthat in FIG. 1, the protocol stacks 14, 15 and 16 have been shown as atleast partially within the boundary of the network 10. Another factoraffecting the round-trip journey time is the speed of each link taken bythe packet. A still further factor is the amount of queuing experiencedby the packet as it passes through queuing devices such as bridges andgateways. The internal packet size used by the links in the network mayalso effect round-trip journey time, because if a packet as sent must besplit up into several smaller packets for transmission over one or moreof the links before being reassembled, then there is a greaterlikelihood that the greater number of reduced-sized packets will besubject to some delay. Another factor that may influence journey time isthe length of the packet as compared to other packets on the networkbecause certain devices on the network may be arranged to give priorityto short packets and this could significantly influence the round-tripjourney time of a test packet. A test packet may also be subject toother influences such as being lost or being duplicated.

Whilst the basic round-trip journey time of a test packet can bedirectly measured, the underlying network parameters that may influencejourney time cannot be detected from the passage of single test packetacross the network and it is for this reason that the present apparatusis arranged to send out sequences of test packets.

First Test Method

Turning now to a consideration in detail of a first test carried out bythe apparatus of the present invention, reference is made to FIGS. 3Aand 3B which illustrate two possible test packet sequences for use inthis test. More particularly, in FIG. 3A a first test sequence isillustrated in which twenty test packets are sent comprising fourpackets for each of five different sizes ranging from 500 bytes to 2,500bytes. Each test packet is separated from its neighbours by a timeinterval "t". The time interval "t" is chosen such that each packet isisolated from its neighbours in the sense that any effect on the networkcaused by one packet has disappeared by the time the next packet istransmitted.

The test sequence shown in FIG. 3B is similar to that shown in FIG. 3Aand includes the same test packets but arranged somewhat differentlyinto four sets of five differently sized packets. However, again thepackets are each isolated from each other by a time interval "t".

Either of the test packet sequences shown in FIGS. 3A and 3B may be usedin carrying out the first test. The test packet sequence list 50illustrated in FIG. 2 shows the list entries for the first few packetsof the FIG. 3A sequence.

To carry out the first test, the test sequence program 30 is run and theuser chooses either the test sequence of FIG. 3A or of FIG. 3B andidentifies the remote station concerned. Thereafter, the program 30transmits the test sequence and, together with the interrupt serviceroutine 44, builds up the event list 51 indicating the time oftransmission and receipt of the various test packets of the selectedtest sequence. Once all the packets have been transmitted, the testprogram 30 calls the appropriate analysis and display sub-routine. Forthe first test, this sub-routine is operative to analyze the event listand provide a further list of packet identity number against round-triptime, this information being readily derived by subtracting the time oftransmission of a packet from its time of receipt, as recorded in theevent list. Then for each packet size involved in the test packetsequence, the sub-routine derives a minimum and mean round trip time andthese values are graphically displayed against packet size on the outputdevice 22.

FIG. 4 shows the graph of minimum delay against packet size for typicaltest results. As can be seen a straight line 70 has been plotted throughthe minimum delay values. The intercept of the line 70 on the minimumdelay axis gives the overall propagation delay between the test stationand the remote station 12 (that is, the delay that a zero length packetwould experience without queuing). This is so because provided that asufficient number of test packets of each size are submitted, it may beexpected that at least one of these packets will pass through thenetwork without queuing and it will be this packet which records theminimum round-trip time.

The FIG. 4 graph can also be used to obtain an estimate of the bandwidthbetween the test station and the remote station 12 by considering theminimum delay line 70 to be a straight line satisfying the generalequation:

    Overall delay=(Pacet size/Bandwidth)+Propagation Delay

In this case, the bandwidth is the reciprocal of the slope of line 70.In fact, of course, there will generally be a plurality of network hopsbetween the test station and remote station 12 each with its ownbandwidth and in these circumstances taking the reciprocal of the slopeof the line 70 as the bandwidth is equivalent to saying that:

    (1/Bandwidth)=(1/b1+1/b2+. . . 1/bn)

where b1, b2 . . . bn are the bandwidths of all the hops in the path.This will only produce a bandwidth estimate close to accurate if thereis one hop in the path that is significantly slower than all the others.Where this is not the case, the estimate may be somewhat inaccurate (theinaccuracy arises because no account is taken of the fact that for amulti-hop path, the intermediate nodes will delay onward transmission ofa packet until the whole packet has been received).

The graph of mean delay against packet size shown in FIG. 5 revealsfurther characteristics of the transmission path between the stations 11and 12. This graph shows a fragmented line 71, 72 drawn between the meandelay points on the graph; in addition the minimum delay line 70 of FIG.4 is also shown on the FIG. 5 graph. The difference between the mean andminimum round-trip time delays for the various packet sizes provides anindication of the average queuing delay for each size of packet. Thediscontinuity in the mean delay line 71, 72 results from the fact thatthe internal packet size of one or more of the network links has beenexceeded by the larger of the transmitted test packets, so that the testpackets have been segmented and subject to greater delay in queuingdevices of the network. Thus, from FIG. 5 it can be deduced that in thetransmission path followed by the test packets between the stations 11and 12, one or more of the network links has an internal packet sizegreater than 1000 bytes, but less than 1500 bytes.

In addition to the above described network characteristics that can bederived from the first test (that is bandwidth, propagation delay,average queuing delay and internal network packet size) furthercharacteristics can be derived from the event list 51. These furthercharacteristics include packet lost rate and packet duplication rate.

Instead of, or additionally to the graphical displays illustrated inFIGS. 4 and 5, the sub-routine called by the main program 39 for thepurpose of analyzing the event list can be arranged to calculate thevarious network characteristics described above as being derived fromthe display graphs.

Second Test Method

The second test implemented by the test apparatus embodying the presentinvention utilizes a test packet sequence of the form illustrated inFIG. 6. In the FIG. 6 test sequence, a plurality of bursts ofback-to-back test packets are provided, each burst being isolated fromthe other bursts by interval T, such that the effect of one burst on thenetwork has subsided before the next burst is sent. As illustrated, thetest packets may all be of the same duration, although for the purposesof the second test, this is not necessary (indeed, the test sequence ofFIG. 8 used for the third test described below can also be used for thesecond test, though the length of the test packets varies through eachburst).

The second test is carried out by running the main test sequence program30 in the manner described above for the first test, except that now thetest packet sequence list corresponding to FIG. 6 is accessed by theprogramme and used to generate the appropriate test sequence.Furthermore, analysis of the event list generated by the FIG. 6 testsequence is affected by a sub-routine specific to the second test.

The purpose of the second test is to identify the minimum buffer lengthin the transmission path between the test station and the selectedremote station 12; this is achieved by saturating the buffer such thatpackets are lost. In order to achieve the desired saturation, the testsequence includes bursts of packets, each burst effectively being onerun through of the second test.

In analyzing and displaying the results of the second test, the eventlist is processed to determine the mean loss rate of packets for eachpacket send position in each test sequence burst. The results of thisprocessing are then displayed on the display 22 in the form of a graphplotting percentage of packets received against send position in burst,as illustrated in the FIG. 7.

In FIG. 7, packets in the first three positions in a burst are shown asbeing received at a near 100% rate; however, packets in the fourth andfifth position in a burst are only rarely received. A graph of this formprovides a strong indication that there is a buffer in the transmissionpath between the stations 11 and 12 which can only hold three packetsbefore over-flowing. It will be appreciated that not only can thisinformation be derived graphically from the results of analyzing theevent list, but it would also be possible to process the analyzedresults to derive such an indication.

Third Test Method

The third test implemented by the test apparatus according to theinvention is intended to ascertain whether any re-sequencing of packetstakes place in transmission between the stations 11 and 12. To this enda test sequence of a form illustrated in FIG. 8 is used. As can be seen,the FIG. 8 test sequence comprises a plurality of test packet burstsisolated from each other by a time interval T. Within a burst, thepackets are of decreasing size and are sent back-to-back. A testsequence of this form is likely to identify any re-sequencing behaviourof the network because such behaviour normally involves giving priorityto shorter packets and these packets are included towards the end ofeach burst; if re-sequencing occurs, then it may be expected that theshorter packets will be received earlier in each burst.

The third test is carried out by running the main test sequence program30 in the manner described above for the first and second test, theprimary difference being the program now utilizes a test packet sequencelist corresponding to FIG. 8 to control the transmission of testpackets. Furthermore, the sub-routine for analyzing and displaying theresults of the event list generated by the third test is specific to thethird test.

This analysis and display sub-routine is arranged to derive for eachreceive position in a burst, the mean percentage of packets received bytheir origin in the transmitted burst. The analysis results aredisplayed on display 22 in a graph of the form illustrated in FIG. 9.Thus, it can be seen that the first position in a burst received back bythe test station 11 is primarily occupied by the first test packet sentout in a burst, but that in addition, the first receive position is alsooccupied by a small percentage of second and third packets sent out in aburst. It may be deduced from the FIG. 9 graph that re-sequencing ofpackets does take place over the network path between stations 11 and 12and that this re-sequencing effects packets at least as large as 1500bytes (the size of the second test packet in each burst).

Variants

Various modifications and changes to the described test apparatus andmethods are, of course, possible. Thus, for example, instead ofarranging for each test packet to be looped back by the remote station,the same information regarding network characteristics as derived aboveusing looped back test packets can be derived by one way transmission ofthe test packet sequences with the remote station collecting each testpacket and noting its time of receipt. Such an arrangement isillustrated by the collect and return station 13 in FIG. 1. Becauseanalysis of the test results requires, at least for some of the tests, acomparison of the time of transmission and of receipt of test packets,the time stamping effected by the collect and return station 13 must beco-ordinated with the transmission time stamping effected by the teststation 11. This can be achieved in a number of ways, for example, byarranging for each station to run the Network Time Protocol which servesto synchronize clocks at the stations with a master clock system. Afterthe collect and return station 13 has generated a receive event listsimilar to the event list 51 of FIG. 2, this list can be returned at thecompletion of the test sequence to the test station 11 for analysis withthe event list generated at the test station at the time of packettransmission.

In fact, it is generally not necessary to have the test and targetstation clocks closely synchronized with each other. The reason for thisis that much of the desired information can be derived by looking atvariations in trip time, rather than the actual value of trip time. Triptime variations can be easily determined by knowing the time oftransmission from the test station 11 and by having a constant rateclock at the collect and return station 13.

Because the provision of a loop back facility at a network station isvery common, carrying out the above described tests using packet loopback is preferred over the collect and return approach embodied bystation 13, since in the latter case, special software will need to beprovided at the station it is wished to equip with this facility.

Certain network protocols such as the IP protocol with its associatedICMP protocol, provide a loop facility with time stamping at the remotestation as well as at the originating station (for IP networks, thisfacility is provided by ICMP Timestamp messages). In this case, it ispossible to derive information on each direction of transit between testand target stations, This generally involves an estimate being maderegarding clock offset between the test and target station clocks, thisoffset being estimated assuming a symmetrical path between the twomachines; if this assumption is not approximately correct, this willnormally show up as differing values for bandwidth in the twodirections.

We claim:
 1. A method of testing a packet-based network to ascertaincharacteristics of packet transmission between first and second nodes onthe network, said method comprising the steps of transmitting packetsbetween said first and second nodes; receiving the packets at one ofsaid nodes; and correlating packet transmission and reception to derivecorrelation data indicative of a first of said transmissioncharacteristics; transmitting said packets as a sequence in which thepackets are in a predetermined relationship to each other with at leastone parameter of the packets in said sequence varying over the sequence;deriving said correlation data so as to relate the correlation data toone parameter of said at least one parameter; and determining a secondof said characteristics of transmission by examination of the relationbetween the correlation data and said parameter over said sequence.
 2. Amethod according to claim 1, wherein said at least one parametercomprises at least one of inter-packet spacing, packet size and packetposition sequence.
 3. A method according to claim 2, wherein said atleast one parameter is packet size, said sequence of packets comprisingfor each of a multiplicity of packet sizes, a respective plurality ofpackets, the packets of said sequence being transmitted in isolationfrom each other.
 4. A method according to claim 3, wherein saidcorrelation data comprises the minimum packet journey time for eachpacket size, said minimum journey time being graphically displayedagainst packet size whereby to enable the bandwidth and/or propagationdelay between said first and second nodes to be determined.
 5. A methodaccording to claim 3, wherein said correlation data comprises theminimum packet journey time for each packet size, said method furthercomprising the step of processing said correlation data to derive thenetwork bandwidth and/or propagation delay between said first and secondnodes.
 6. A method according to claim 3, wherein said correlation datacomprises the mean packet journey time for each packet size, said meanjourney times being graphically displayed against packet size to enablethe internal network packet size to be determined.
 7. A method accordingto claim 3, wherein said correlation data comprises the mean packetjourney time for each packet size, said method further comprising thestep of processing said correlation data to derive the internal networkpacket size.
 8. A method according to claim 3, wherein said correlationdata comprises the minimum and mean packet journey times for each packetsize, said minimum and mean journey times being graphically displayedagainst packet size whereby to enable the mean queuing delay betweensaid first and second nodes to be determined.
 9. A method according toclaim 3, wherein said correlation data comprises the minimum and meanpacket journey times for each packet size, said method furthercomprising the step of processing said correlation data to derive themean queuing time between said first and second nodes.
 10. A methodaccording to claim 2, wherein said at least one parameter isinter-packet spacing and packet position said sequence of packetscomprising a succession of isolated packet bursts each made up of aplurality of packets transmitted immediately one after another, saidcorrelation data indication for said at least one parameter expressed aspacket position within said bursts as transmitted, the average packetloss rate whereby to enable the minimum buffer capacity between saidnodes to be determined.
 11. A method according to claim 2, wherein saidat least one parameter is inter-packet spacing and packet position saidsequence of packets comprising at least one isolated packet burst madeup of a plurality of packets that are transmitted immediately one afteranother and are of decreasing size, said correlation data indicating anydifference in packet sequencing between the said at least one burst astransmitted and as received.
 12. A method according to any one of thepreceding claims, wherein said packets are transmitted from said firstnode and looped-back at said second node for reception at said firstnode, said correlation data being derived by comparing packettransmission and reception at said first node.
 13. A method according toany of claims 1-11, wherein said packets are transmitted from said firstnode and received at said second node where reception data is derivedindicative of parameters of packet reception at said second node, saidreception data being transmitted back to said first node to be used as,or in deriving, said correlation data.
 14. Apparatus for testing apacket-based network to ascertain characteristics of packet transmissionbetween first and second nodes on the network, said apparatus comprisingtransmission means for transmitting packets between said first andsecond nodes, receiving means for receiving the packets of one of saidnodes, and correlation means for correlating packet transmission andreception to derive correlation data indicative of a first of saidpacket transmission characteristics; said transmission means beingoperative to transmit said packets as a sequence in which the packetsare in a predetermined relationship to each other with at least oneparameter of the packets in said sequence varying over the sequence;said correlation means being operative to derive said correlation dataso as to relate it to one parameter of said at least one parameter; andmeans for determining a second of said packet transmissioncharacteristics of transmission by examination of the relation betweenthe correlation data and said one parameter over said sequence.